package wapper;

import object.Point;

/**
 * JDK5之后java推出了一个新特性: 自动拆装箱
 */
public class IntegerDemo3 {
    public static void main(String[] args) {
        /*
        当我们直接将基本类型赋值给引用类型时, 就会触发编译器的自动装箱特性:
        编译器会在编译成class文件时, 讲下面代码改造(补充转换操作):
        Integer in = Integer.valueOf(123);
         */
        Integer in = Integer.valueOf(123);

        /*
            当我们将包装类直接赋值给基本类型变量时，会触发编译器的自动拆箱特性
            编译器编译时会补充转换代码:
            int i = in.intValue();
         */
        int i = in;

        doSom("hello");
        doSom(new Point(1,2));
        /*
            本身int值不继承Object，这里会触发自动装箱
            doSome(Integer.valueOf(123));
         */
        doSom(123);

    }
    public static void doSom(Object object){

    }
}
